package com.jilujia.domain.user.service;

import java.util.List;

import com.jilujia.domain.user.User;
import com.jilujia.domain.user.UserFollowHotel;

/**
 * A service interface for retrieving hotels and bookings from a backing repository. Also supports the ability to cancel
 * a booking.
 */
public interface UserService {

	User createUser();

	User registerUser(User user);

	User updateUserProfile(User user);

	User findEnabledUser(Long id);

	User findEnabledUserByUsername(String username);

	User validateUser(String confirmtoken);

	void cancelUser(Long id);

	List<User> findTop10Users();

	UserFollowHotel findByUserIdAndHotelId(Long userId, Long hotelId);

}
